Supply and Demand for SNF

master.original <- read_csv("Data/Facilities/Master-provider-directory-2005-2024.csv") %>%
  mutate(Dem_Desc = fct_relevel(Dem_Desc, "Entirely rural", "Town/rural mix", "Urban/town/rural mix", "Entirely urban"),
         planning.region = fct_relevel(planning.region, "Northwest", "Northeast", "Central", "Seven County Mpls-St Paul", "Southwest", "Southeast"),
         edr = fct_relevel(edr, "EDR 1 - Northwest", "EDR 2 - Headwaters", "EDR 3 - Arrowhead", "EDR 4 - West Central", "EDR 5 - North Central", "EDR 6E- Southwest Central", "EDR 6W- Upper Minnesota Valley", "EDR 7E- East Central", "EDR 7W- Central", "EDR 8 - Southwest", "EDR 9 - South Central", "EDR 10 - Southeast", "EDR 11 - 7 County Twin Cities", "Minnesota"),
         edr.simple = fct_relevel(edr.simple, "EDR 1", "EDR 2", "EDR 3", "EDR 4", "EDR 5", "EDR 6E", "EDR 6W", "EDR 7E", "EDR 7W", "EDR 8", "EDR 9", "EDR 10", "EDR 11"))
master.snf <- master.original %>%
  select(year, LIC_TYPE, NH_BEDS, SNF_BEDS, SNFNF_BEDS, NF1_BEDS, NF2_BEDS, HFID, NAME, CITY, STATE, ZIP, COUNTY_NAME, countyfp, Dem_Desc, edr, planning.region) %>%
  left_join(counties.regions[,c(1,8)], by = "countyfp")

datatable(master.snf, class = "cell-border stripe", filter = "top", rownames = FALSE,
          options = list(columnDefs = list(list(className = "dt-center", targets = 1:4)))) 


Summary


Preparing age projections

First we need to figure out our population projections by age group. Since the information I have in the percentage of elderly that utilize long term care facilities is from the Profile of Older Americans, which states the following;

“In 2022, a relatively small number of people (1.3 million) 65 and older lived in nursing homes. However, the percentage of the population increased with age, ranging from 1% for people 65-74 and 3% for people 75-84 to 8% for people over 85.” - Profile of Older Americans

So, let’s put together the 2024 population and projections for those three age groups. I will also filter it so it only has the years 2024, 2030, 2035, 2040, 2045 and 2050.


age.group.original <- read_csv("Data/Population/Age/Master-age-group-projections-county.csv") %>%
  left_join(counties.regions[,c(1,8)], by = "countyfp") %>%
  mutate(Dem_Desc = fct_relevel(Dem_Desc, "Entirely rural", "Town/rural mix", "Urban/town/rural mix", "Entirely urban"),
         edr = fct_relevel(edr, "EDR 1 - Northwest", "EDR 2 - Headwaters", "EDR 3 - Arrowhead", "EDR 4 - West Central", "EDR 5 - North Central", "EDR 6E- Southwest Central", "EDR 6W- Upper Minnesota Valley", "EDR 7E- East Central", "EDR 7W- Central", "EDR 8 - Southwest", "EDR 9 - South Central", "EDR 10 - Southeast", "EDR 11 - 7 County Twin Cities", "Minnesota"),
         edr.simple = fct_relevel(edr.simple, "EDR 1", "EDR 2", "EDR 3", "EDR 4", "EDR 5", "EDR 6E", "EDR 6W", "EDR 7E", "EDR 7W", "EDR 8", "EDR 9", "EDR 10", "EDR 11"),
         planning.region = fct_relevel(planning.region, "Northwest", "Northeast", "Central", "Seven County Mpls-St Paul", "Southwest", "Southeast"))

master.age.group <- age.group.original %>%
  filter(year %in% c(2024, 2030, 2035, 2040, 2045, 2050))

datatable(master.age.group, class = "cell-border stripe", filter = "top", rownames = FALSE,
          options = list(columnDefs = list(list(className = "dt-center", targets = 1:ncol(master.age.group))))) 


The age group dataset has 1,566 rows and 11 columns.


Demand

Using the percentages provided by the Profile of Older Americans, we will create a new column that estimates demand for long-term care.


ltc.demand.county <- master.age.group %>%
  mutate(ltc.demand = ifelse(age.group == "65_74", pop * .01,
                             ifelse(age.group == "75_84", pop * .03, pop * .08))) %>%
  group_by(year, countyfp, Name, planning.region, edr, edr.simple, Dem_Desc) %>%
  summarize(pop.65plus = sum(pop),
            ltc.demand = sum(ltc.demand)) %>%
  ungroup() 


The following tabset provides a table of the projected demand for long term care among 65+ population for each region and rural-urban category.


Minnesota

Demand for long-term care in Minnesota will increase by 45% by 2050. The largest growth will occur between 2025 and 2035 and then it begins to plateau.



Planning Region

The chart below shows that the largest growth in demand will occur in the seven county metro, particularly in the later years. However, by 2030 demand will be somewhat similar across all planning regions. After 2030, rural Minnesota begins to level off a bit, especially in Southwest and Northeast Minnesota.



EDR

The EDRs have a lot of variation in long term care demand. Although the seven county metro still has the highest demand, it’s closed followed by EDR 5 and EDR 7W.



RUCA

Rural-urban categories also show significant variation. Our entirely rural areas will have peak demand in 2035 with a 6.25% increase from 2024. Town/rural mix and Urban/town/rural mix counties will peak in 2045 with an increase in demand of nearly 25%. Entirely urban counties will continue to peak until 2050 with an increase in demand of 60%!



County

The county map shows an interesting pattern. Along the western side of Minnesota, counties have already peaked in demand or will peak by 2030. The largest increases in demand occur in the seven county suburbs, and in the central lakes region. Cass and Crow Wing counties will peak in 2050 with a 50% to 75% increase in demand. The largest increase is in Carver County with an increase of 174%.



It might be nice to see the differences in when demand will peak across the state and to what extent that demand will be increased.